﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Altairis.FluffyCloud.Data {
    public class GalleryFolder {

        [Key]
        [ScaffoldColumn(false)]
        public int GalleryFolderId { get; set; }

        [Required, ScaffoldColumn(false)]
        public string UserName { get; set; }
        public virtual User User { get; set; }

        [ScaffoldColumn(false)]
        public DateTimeOffset DateCreated { get; set; }

        [Display(Name = "Název")]
        [Required(ErrorMessage = "Není zadán název složky"), MaxLength(50, ErrorMessage = "{0} smí mít nejvýše {1} znaků")]
        public string Name { get; set; }

        [Display(Name = "Popis", Description = "Stručný popis složky, zobrazuje se v seznamech")]
        [Required(ErrorMessage = "Není zadán popis složky"), MaxLength(100, ErrorMessage = "{0} smí mít nejvýše {1} znaků")]
        public string Description { get; set; }

        // Navigation properties

        [ScaffoldColumn(false)]
        public virtual ICollection<GalleryFolderAclEntry> AccessList { get; set; }

        [ScaffoldColumn(false)]
        public virtual ICollection<GalleryEntry> Entries { get; set; }

        // Constructor

        public GalleryFolder() {
            this.DateCreated = DateTimeOffset.UtcNow;
        }


    }
}
